#ifndef _FIND_ENTITIES_H_
#define _FIND_ENTITIES_H_

#ifdef _WIN32
#pragma once
#endif

#include <string>
#include <vector>

#include "devicemanager.h"
#include "filereader.h"
#include "utils.h"

using std::string;
using std::vector;

class CPickup;
class CTile;
class CEntity;

namespace utils 
{

    class ErrMapLoader: public std::runtime_error
    {
    public:
        ErrMapLoader(const string &szErrorMessage);
    };

    CEntity *findEntity(short int entityID,float fX, float fY, 
        float fZ, bool bVisible, vector<PARAM> params);
    CPickup *findPickup(short int pickupID, float fX, float fY, float fZ);
    vector<PARAM> getEntityParams(CFileReader &file, int nAmount);
    CTile *findTile(short int tileID, short int nHeight, 
                    short int nWidth, short int nDepth);
    vector<PARAM> getEntityParams(CFileReader &file, const int nAmount);
}

#endif